Skip to content

Switched to Maven#6

Open
adamretter wants to merge 27 commits intofgeorges:masterfrom
adamretter:maven-attempt2
Open

Switched to Maven#6
adamretter wants to merge 27 commits intofgeorges:masterfrom
adamretter:maven-attempt2

Conversation

@adamretter
Copy link

@adamretter adamretter commented Aug 17, 2017

Here is a PR for the latest Maven version.

I would really like to see fgeorges/expath-http-client-java moved to expath/expath-http-client-java and opened up to the community for development. I have a few bugs reported to users that I need to fix over the next day or so, and I think the community could also benefit from those.

I would be happy to steward the module once it is moved to the expath organisation.

@adamretter adamretter force-pushed the maven-attempt2 branch 3 times, most recently from 3deafb7 to 710351b Compare August 28, 2017 18:20
@fgeorges
Copy link
Owner

fgeorges commented Feb 8, 2018

@adamretter - A few questions:

  • not sure about the purpose of http-client-parent
  • its POM refers to something outside of the repo (../../expath-parent/pom.xml)
  • how do I build/package/use both projects now? (-java and -saxon)

@adamretter
Copy link
Author

When you have multiple modules, it is sensible to abstract commonality into a parent module. We have two main modules - http-client-java and http-client-saxon. So I created the parent module http-client-parent.

Having talked with Christophe Marchand we also thought that Maven should be used for building all EXPath Java projects. As such I then abstracted functionality that I thought would be common to all EXPath projects into expath-parent. For an organisation, it is very common to have a pom with the settings relevant to all your organisations projects: https://github.com/adamretter/expath-parent

Until expath-parent is published, you need to build and install that first (once):

git clone https://github.com/adamretter/expath-parent
cd expath-parent
mvn install

To build the Java and Saxon artifacts simply:

cd expath-http-client-java
mvn package

Built artifacts are then in http-client-java/target and http-client-saxon/target

@fgeorges
Copy link
Owner

fgeorges commented Feb 18, 2018

@adamretter Thank you. Having a quick look at expath-parent, I see a lot of dependencies. E.g. Saxon and Calabash. Does that mean they are a dependency for all other "sub" projects?

I took great care of not introducing any non needed dependency, especially *-java projects only depend on "basic" libraries, where only *-saxon and *-calabash depend on Saxon, and *-calabash on Calabash.

I this is the case, then I suggest having a "root" expath-parent, then one for Saxon and another one for Calabash implementations. The very "basic one" (root for Java bare projects) should depend on the very strict minimum for a bar Maven project, with no other dependency (e.g. tools-java depends on nothing else, except the unit tests depend on TestNG).

If we are going to switch to Maven, I can assist in identifying the current dependencies, so we can have the exact same dependencies with Maven (in addition to Maven itself...) Or did I miss something?

@joewiz
Copy link

joewiz commented Apr 23, 2019

@fgeorges Could you please transfer this repository to the expath organization so that community maintenance can continue? Just visit https://github.com/fgeorges/expath-http-client-java/settings and click on "Transfer ownership." It just takes a minute. Thanks!

@adamretter
Copy link
Author

@fgeorges No. Because they are in the <dependencyManagement> section and not the <dependency>section. This means their versions are defined at the parent level, but not the use of them.

@adamretter
Copy link
Author

@joewiz It would be great if we could get this moved to the EXPath project. I have many fixes in my own fork that I could then merge there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments